#include<iostream>
#include<cstdlib>
#include<signal.h>
using namespace std;
void myhendler(int signal)
{
    cout<<"signal "<<signal<<"发生"<<endl;
    exit(0);
}
void Display(const sigset_t &s)
{
    for(int i = 1;i<=31;i++)
    {
        if(sigismember(&s,i))
        {
            cout<<"1 ";
        }
        else 
        {
            cout<<"0 ";
        }
        
    }
    cout<<endl;
}
int main()
{
    signal(2,myhendler);
    //1.创建出sigset_t 类型；
    sigset_t sigset,oset;
    //2.初始化；
    sigemptyset(&sigset);
    sigemptyset(&oset);
    //3.设置信号屏蔽；
    sigaddset(&sigset,2);
    //4.把位图添加到进程当中；
    sigprocmask(SIG_SETMASK,&sigset,&oset);
    sigset_t s;
    while(true)
    {
        sigpending(&s);
        Display(s);
    }

    return 0;
    



}